package com.ht.api.gaoxian;


import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

import org.junit.jupiter.api.Test;

import com.ht.api.util.ParamParser;

import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;

@Slf4j
public class JsonTest2 {

    @Test
    public void formatRequestParam () {
        ParamParser parser = new ParamParser();

        // 复杂示例的参数说明文本
        String paramText = """
参数	必须	说明
external_userid	是	外部联系人的userid，注意不是企业成员的账号
cursor	否	上次请求返回的next_cursor
                """;

        // 示例JSON
        String jsonExample = """
                """;

        // 解析参数
        JSONArray params = parser.parseParams(paramText, jsonExample);
        System.out.println("解析结果：");
        System.out.println(params.toStringPretty());
        System.out.println("\n" + "=".repeat(80) + "\n");

        // 组装新的JSON示例
        Map<String, Object> values = new HashMap<>();
        values.put("limit", 100);
        values.put("cursor", "");
        values.put("owner_filter.userid_list", Arrays.asList("aaa", "bbb"));

        JSONObject assembled = parser.assembleJson(params, values);
        System.out.println("组装结果：");
        System.out.println(JSONUtil.toJsonPrettyStr(assembled));

    }




}
